import java.io.Serializable;
import java.util.HashSet;


/**
 * Classe de gestion d'un exemplaire d'un ouvrage
 * 
 * @author IUT, refactor� par E. Ceret
 * @version 2.0
 * 
 */
public class MotsCles extends Index implements Serializable {

	// ************************************************************************************************************
	// Constantes
	// ************************************************************************************************************

	private static final long serialVersionUID = 1L;
	
	// ************************************************************************************************************
	// Constructeur
	// ************************************************************************************************************
	
	private String _mot;
	
	
	/**
	 * Constructeur. Cr�e un exemplaire d'ouvrage au statut NonDisponible.
	 * 
	 * @param numero
	 *            num�ro de l'exemplaire dans l'ouvrage.
	 * @param dateReception
	 *            date de la r�ception de cet exemplaire.
	 * @param ouvrage
	 *            ouvrage dont cet exemplaire est un repr�sentant.
	 */
	public MotsCles(String mot) {
		this.setMot(mot);
	} // Fin Constructeur

	// ************************************************************************************************************
	// M�thodes publiques
	// ************************************************************************************************************

	// ------------------------------------------------------------------------------------------------------------
	// Accesseurs
	
	public void setMot(String mot){
		_mot = mot;
	}

	public void ajouterOuvrage(Ouvrage o) {
		lierOuvrage(o);
	}

	public String getMot()  {
		return _mot;
	}
	

	private void lierOuvrage(Ouvrage o) {
		getOuvrages().add(o);
	}



	/**
	 * @return le libell� correspondant au statut courant de l'exemplaire
	 */
	public HashSet<Ouvrage> getOuvrage(HashSet<Index> indexs) {
		HashSet<Ouvrage> ouvrage;
		ouvrage = new HashSet<Ouvrage>(); // on charge un vecteur d'ouvrage
		for (Index i : indexs) { 
			ouvrage.addAll(i.getOuvrages()); // a selection les ouvrages de chaque mots cles
		} 
		return ouvrage;
	}



} // Fin Classe Mots Cles
